home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Tech Arsenal 1
/
Tech Arsenal (Arsenal Computer).ISO
/
tek-01
/
cuj9205.zip
/
1005086A
< prev
next >
Wrap
Text File
|
1992-06-02
|
1KB
|
52 lines
Listing 1
//
// rational.h
//
#include <stdio.h>
class rational
{
public:
rational() { }
rational(long n) : num(n), denom(1) { }
rational(long n, long d) : num(n), denom(d) { }
rational &operator+=(rational r);
rational &operator-=(rational r);
rational &operator*=(rational r);
rational &operator/=(rational r);
rational operator+() { return *this; }
rational operator-();
rational operator++() { return *this += 1; }
rational operator--() { return *this -= 1; }
rational operator++(int);
rational operator--(int);
void put(FILE *);
private:
long num, denom;
void simplify();
};
inline rational operator+(rational r1, rational r2)
{
return r1 += r2;
}
inline rational operator-(rational r1, rational r2)
{
return r1 -= r2;
}
inline rational operator*(rational r1, rational r2)
{
return r1 *= r2;
}
inline rational operator/(rational r1, rational r2)
{
return r1 /= r2;
}